import org.apache.flink.streaming.api.datastream.DataStreamSource;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;

public class FlinkEnvironmentTest {
    public static void main(String[] args) throws Exception {
        // 创建Flink流处理执行环境
        // StreamExecutionEnvironment是所有Flink流处理程序的基础
        // getExecutionEnvironment()方法会根据上下文创建适合的环境（本地或集群）
        final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
        
        // 设置并行度为1，表示该作业只会使用一个任务槽执行
        // 在生产环境中，通常会设置更高的并行度来利用集群资源
        env.setParallelism(1);

        // 创建一个数据源，生成从1到10的序列
        // DataStreamSource是DataStream的一个子类，表示没有确定来源的数据流
        // fromSequence创建一个包含连续长整型数值的流
        final DataStreamSource<Long> source1 = env.fromSequence(1, 10);
        
        // 调用print()方法将数据打印到标准输出
        // 这是一个sink操作，用于消费流中的数据
        // 输出格式将是：序号> 值，例如 1> 1, 1> 2, ... 1> 10
        source1.print();

        // 调用execute()方法执行Flink作业
        // 这是一个阻塞调用，会一直等到作业完成
        // 在该方法被调用前，前面定义的操作只是构建了执行图，并未真正执行
        env.execute();
    }
}